home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #1 / Amiga Plus CD - 2000 - No. 1.iso / Tools / Grafik / Paint / Perfectpaint / rexx / spline / Total_Spline.rx < prev   
Encoding:
Text File  |  1999-12-03  |  843 b   |  55 lines

  1. /* Script Rexx
  2.     Spline with a number of point*/
  3.  
  4.     call addlib("rexxmathlib.library", 5, -30, 0)
  5.  
  6.     options results
  7.   parse ARG Port Mx My Mx1 My1 Mxa Mya b
  8.     ADDRESS value Port
  9.  
  10.     pp_DialogInit 250 85 "*Spline*" 2
  11.         pp_Integer 0 110 5 50 16 "Number*of*Point*" 1 20
  12.         pp_Cycle 1 110 25 110 16 "Color*Option" 1 "Current*Color|Cycling*Color" 0
  13.     pp_Dialog
  14.     rc=result
  15.     if rc=0 then
  16.         do
  17.             EXIT
  18.         end        
  19.         
  20.     pp_GetDialog 0
  21.     sz=result
  22.  
  23.     pp_GetDialog 1
  24.     sens=result
  25.  
  26.   xa= (Mx+Mx1)/2 
  27.     ya= (My+My1)/2
  28.   Mxa= xa + 2*(Mxa-xa)
  29.     Mya= ya + 2*(Mya-ya)
  30.   x=Mx
  31.     y=My
  32.  
  33.     pp_GetApen
  34.     z=result
  35.  
  36.     sz=sz-1
  37.  
  38.     pp_Plot Mx My
  39.  
  40.   DO f=1 To sz
  41.     ff=f/sz
  42.     xa=Mx+(Mxa-Mx)*ff
  43.         ya=My+(Mya-My)*ff
  44.         xb=Mxa+(Mx1-Mxa)*ff
  45.         yb=Mya+(My1-Mya)*ff
  46.     x=trunc(xa+(xb-xa)*ff+0.5)
  47.         y=trunc(ya+(yb-ya)*ff+0.5)
  48.         pp_Plot x y
  49.         if sens=1 then DO
  50.             pp_SetApen z
  51.             z=z+1
  52.         END
  53.   END
  54.  
  55.